__author__ = 'FutureAdmin'
"""
    首先,我们来学习如何使用索引来取得序列中的单个项目,这也被称作是下标操作,每当你用方括号中的一个数来指定一个序列的时候,Python会为你抓取序列中对应位置的项目,记住,Python从0开始计数,因此shoplist[0]抓取顶一个项目,shoplist抓取第四个元素.

    索引同样可以是负数,在那样的情况下,位置是从序列尾开始计算的.因此,shoplist[-1]表示序列的最后一个元素,而shoplist[-2]抓取序列的倒数第二个项


    切片操作符中的第一个数表示切片开始的位置,第二个数表示切片到哪里结束,如果不指定第一个数,Python就从序列首开始,如果没有指定第二个数,则Python会停止在序列尾,注意,返回的序列从开始位置开始,刚好在结束位置之前结束,即开始位置是包含在序列切片中的,而结束位置被排斥在切片外.

    这样,shoplist[1:3]返回从位置1开始,包括位置2,但是停止在位置3的一个序列切片.因此返回一个含有两个项目的切片.类似的,shoplist[:]返回整个序列的拷贝.

    你可以用负数做切片,负数用在从序列尾开始计算的位置.例如:shoplist[:-1]会返回除了最后一个项目外包含的所有项目的序列切片.

    使用Python解释器交互地尝试不同切片指定组合.即在提示符下你能够马上看到结果.序列的神奇之处在于你可以用相同的方法访问元组,列表和字符串.
"""

shoplist = ["apple","mango","carrot","banana"]

print("Item 0 is ", shoplist[0])
print("Item 1 is ", shoplist[1])
print("Item 2 is ", shoplist[2])
print("Item 3 is ", shoplist[3])
print("Item -1 is ", shoplist[-1])
print("Item -2 is ", shoplist[-2])


print("Item 1 to 3 is " , shoplist[1:3])
print("Item 2 to end is " , shoplist[2:])
print("Item 1 to -1 is " , shoplist[1:-1])
print("Item start to end is " , shoplist[:])


name = "swaroop"

print("characters 1 to 3 is ", name[1:3])
print("characters 2 to end is ", name[2:])
print("characters 1 to -1 is ", name[1:-1])
print("characters start to end is ", name[:])


tuple = ("one","two","three")
print("Tuple 1 to 2" , tuple[:-1])